package com.huidu.bitrade.util;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class CSRFFilterConfigUtils {

    /**
     * 跨站点请求路径白名单，通过英文逗号分隔。
     */
    public static String csrfWhitePaths;

    /**
     * 跨站点请求域名白名单，通过英文逗号分隔。
     */
    public static String csrfWhiteDomains;

    /**
     * csrf攻击防护开关配置
     */
    public static Boolean openCsrfProtect;

    /**
     * @param
     * @return java.lang.Boolean
     * @description csrf攻击防护开关配置，默认为开启
     */
    public static Boolean getOpenCsrfProtect() {
        return openCsrfProtect == null ? true : openCsrfProtect;
    }

    /**
     * @param
     * @return java.lang.String[]
     * @description 获取请求路径白名单
     */
    public static String[] getCsrfWhitePaths() {
        if (StringUtils.isNotEmpty(csrfWhitePaths)) {
            return csrfWhitePaths.split(",");
        }
        return null;
    }

    /**
     * @param
     * @return java.lang.String[]
     * @description 获取请求域名白名单
     */
    public static String[] getCsrfWhiteDomains() {
        if (StringUtils.isNotEmpty(csrfWhiteDomains)) {
            return csrfWhiteDomains.split(",");
        }
        return null;
    }

//
//    @Value("${csrf.white.paths}")
//    public static void setCsrfWhitePaths(String csrfWhitePaths) {
//        CSRFFilterConfigUtils.csrfWhitePaths = csrfWhitePaths;
//    }
//
//    @Value("${csrf.white.domains}")
//    public static void setCsrfWhiteDomains(String csrfWhiteDomains) {
//        CSRFFilterConfigUtils.csrfWhiteDomains = csrfWhiteDomains;
//    }
//
//    @Value("${open.csrf.protect}")
//    public void setOpenCsrfProtect(Boolean openCsrfProtect) {
//        CSRFFilterConfigUtils.openCsrfProtect = openCsrfProtect;
//    }
}
